package com.yowasa.xiuxian.entity.mys;

import lombok.Data;

@Data
public class MysComponent {

//    字段名称	类型	含义
//    id	string	组件id，由机器人自定义，不能为空字符串。面板内的id需要唯一
//    text	string	组件展示文本, 不能为空
//    type	int	组件类型，目前支持 type=1 按钮组件，未来会扩展更多组件类型
//    need_callback	bool	是否订阅该组件的回调事件
//    extra	string	组件回调透传信息，由机器人自定义
//除去所有组件类型共有的字段外，根据按钮组件的交互场景，按钮组件增加了几个新的字段：
//    c_type	int	组件交互类型，包括：1回传型，2输入型，3跳转型
//    input	string	如果交互类型为输入型，则需要在该字段填充输入内容，不能为空
//    link	string	如果交互类型为跳转型，需要在该字段填充跳转链接，不能为空
//    need_token	bool	对于跳转链接来说，如果希望携带用户信息token，则need_token设置为true


    private String id;
    private String text;
    private Integer type;
    private Boolean need_callback;
    private String extra;
    private Integer c_type;
    private String input;
    private String link;
    private Boolean need_token;

    public MysComponent(Integer type, String text){
        this.text =text;
        this.type = 1;
        this.c_type = type;
    }

    public MysComponent(String id,Integer type, String text,String input){
        this.id = id;
        this.text =text;
        this.need_callback = false;
        this.need_token = false;
        this.type = 1;
        this.input = input;
        this.c_type = type;
    }

    public MysComponent() {
    }
}
